Methods and systems for selectively displaying advertisements

ABSTRACT

A system, including a planning module, a control module and a receiver module, configured to schedule display of one or more advertising impressions of available advertising inventory. The planning module enables scheduling a requested quantity of advertising impressions in accordance with target criteria. Further, the planning module enables selecting an advertising impression goal for advertisement, assigning an advertising type and defining a weight for the advertisements. The control module receives the schedule, the advertising type and the defined weights and generates one or more metadata files that contain target criteria, advertising type and weights for the advertisements. The one or more metadata files, with the advertisements, are delivered to the receiver module that is configured to define a display frequency for the advertisements based upon one or more of the metadata files. The receiver module selectively displays advertisement content associated with the advertisements to achieve the advertising impression goal.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a divisional of U.S. application Ser. No.09/991,389, filed Nov. 21, 2001, now U.S. Pat. No. 7,136,871, entitled“Methods and Systems for Selectively Displaying Advertisements,” whichis incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. The Field of the Invention

The present invention generally relates to managing the delivery ofadvertising impressions on devices that are intermittently-connected toa network. More specifically, the present invention relates to planningan advertising campaign of advertisements, managing delivery ofadvertisement content associated with the advertisement to one or morereceiver modules, and managing the selection of the advertisement, andassociated advertising content, for display to a viewer.

2. The Relevant Technology

For many years, homes, offices, and other buildings have accessedbroadcast programming through airwave broadcasts, cable providers,satellite transmission, and other communication channels. Televisionsprovide viewers with a varied assortment of entertainment, news,advertisements, and educational programming. From the first broadcaststo current television programming, viewers gather a wealth of knowledgewhile being entertained. With advances in communication technology andcomputer systems in recent years, viewers of broadcast programming nolonger are limited to merely watching a television screen, but canutilize personal computers, or the like. Further, instead of merelywatching the broadcast programming, viewers may participate in enhancedprogramming experiences through use of a set-top box or other similardevice.

An advertiser desires to maximize revenue by enticing a viewer topurchase the product or services displayed in its advertisement. Hence,advertisers are willing to provide desirable consideration to those ableto display their video advertisements to target viewers that are morelikely to purchase the advertiser's products or services. While suchadvertising may sometimes seem bothersome to viewers, the presence ofadvertising often reduces the cost of viewers receiving broadcastprogramming. For example, many television channels are free, sincerevenue from advertising alone is sufficient incentive to provide thetelevision channels. On the other hand, some premium channels present noadvertisements, but instead achieve adequate incentives for providingthe channel by charging the viewers a periodic fee.

The ability to target advertisements, such as video advertisements,audio advertisements, banner advertisements, static advertisements,combinations thereof, or the like, is of great value to advertisers.Targeting occurs by characterizing the segment of the population that isthe most likely consumer of the product or service. Markets by may besegmented by a myriad of characteristics such as gender, age, income,occupation, education level, special hobbies, geography, demographics,and so forth. By communicating the advertisement using those media thatare more likely to be seen by the target market segment or targetviewer, advertising is made more efficient.

For example, suppose a software developer manufactures a video game thattends to be attractive to men between 16 and 25 years old. In order totarget the advertisement to the most likely consumer, the softwaredeveloper may place a video advertisement on a television channel thattends to have male viewers between the ages of 16 and 25. By targetingin this manner, advertisers increase the chance of revenue on a perviewer basis. In addition, viewers tend to find the advertising morerelevant. Thus, advertisers and viewers both may benefit by targetedadvertising.

Further, advertisers typically want to deliver a precise number ofimpressions of the targeted advertisement, without over-delivering orunder-delivering the advertisement. For instance, an advertiser may wish5,000,000 people between the ages of 16 and 25 to watch thatadvertiser's advertisement at a specific time. Therefore, the advertiserwishes for 5,000,000 “impressions” of the advertisement to be displayedto the targeted market segment.

To facilitate the needs of these advertisers and maximize advertisingrevenue, broadcasters, as well as cable and satellite operators, want toavoid underutilization of available inventory, i.e., the expected numberof advertising impression opportunities that can be reserved foradvertisements, and hence want to ensure that 100% of the availableinventory for the advertisement is sold. Although the broadcasters wishto maximize use of the advertising inventory, the broadcaster alsoattempts to avoid over-committing or over-subscribing the availableinventory.

Further, broadcasters often want to manage two very different types ofadvertisements or advertising campaigns. The broadcaster manages highpriced advertisements that the broadcaster commits to display inspecific markets at specific times and at in specific locations, knownas committed advertisements. The broadcaster allocates or schedulesspecific amounts of available advertising inventory for these specificadvertisements or advertising campaigns. To fill in the remaining amountof available advertising inventory, the broadcaster manages low-pricedadvertisements or house advertisements, termed filler or flexibleadvertisements, which are to be displayed when advertising inventory isavailable and no committed advertisements are scheduled for suchadvertising inventory. The broadcaster attempts to avoid over-committingor over-subscribing committed advertisements for the availableinventory, while avoiding under-committing or under-subscribingcommitted advertisements for the available advertising inventory.

In the conventional television environment, a broadcaster has a definednumber of times for a specific period between breaks of broadcastprogramming. The broadcaster can only “sell” one time to one advertiser.Consequently, the advertiser can specify a number of timeslots that theadvertiser's advertisement is to be displayed. Viewership within thesetimeslots is measured by standard TV Ratings data, which is then used toestimate a specific impression count. Broadcasters use these estimatesto determine whether they over or undersold their advertisementinventory. Advertisers use this information to ensure that the number ofimpressions desired was met or exceeded.

The same goals of advertisers and broadcasters arise for deliveringtargeted advertisement via the Internet. Various other systems andmethods have been developed to enable the advertiser and broadcasters tomeet the above-referenced goals. For example, some systems utilize acentralized ad-server that delivers advertisement upon request from anapplication or web page at the moment that an ad is needed, makes areal-time decision of which ad to deliver, and tracks the delivery ofadvertising impressions. This decision is based upon the number ofimpressions requested by the advertiser, the number of impressionsalready delivered, the time remaining for the advertising campaign, andthe targeting criteria of the advertisement.

New technology is permitting broadcasters to move away from thetraditional limitations of delivering only a single advertisement to allhouseholds within a single timeslot. For example, new targetedadvertising technologies allow broadcasters to deliver differentadvertisements to different households within a single timeslot, basedon interest, location or demographics. Further, even the notion of afixed timeslot is becoming obsolete. For example, new advertisingopportunities arise when viewers use a broadcaster's Electronic ProgramGuide—which is accessed ‘on demand’ rather than during definedtimeslots.

Unfortunately, with these new types of advertising campaigns, deliveringa requested number of impressions for a specific advertiser becomes moreproblematic. There a lack of commercially-available TV Ratings data todetermine the number of households matching a particular interest,location or demographic target viewing during a specific timeslot, sotargeted advertising inventory becomes difficult to calculate.Similarly, TV ratings cannot reveal the quantity of advertisinginventory available from visits to the Electronic Program Guide or otheron-demand media on the TV. Technologies that have been deployed forInternet advertisement delivery are better suited for these new types ofTV-based advertisements, but these technologies typically require apersistent 2-way online connection, while Satellite, Cable and otherbroadcasters are often at best only intermittently connected to theircustomers' set-top boxes for 2-way communication.

BRIEF SUMMARY OF THE INVENTION

According to one aspect of the present invention, a planning module isprovided that enables broadcasters to schedule campaigns ofadvertisements for one or more advertisers, whether such advertisementsare committed advertisements or flexible advertisements. This planningmodule utilizes historical advertising impression data and datarepresentative of currently scheduled advertisements, which have animplied or estimated impression target, to generate a database ofestimated advertising inventory, i.e., predicting the usage ofadvertising inventory based upon previously watched advertisements forspecific target criteria, such as, but not limited to, geographic data,demographic data, and time data.

This planning module is configured to facilitate the creation ofadvertising placements to achieve an advertising impression goal, i.e.,the particular number of times that the advertisement is displayed to atarget audience. As the planning module is used to schedule display ofadvertisement to achieve the advertising impression goal, the planningmodule notifies the broadcaster of a conflict between currentlyscheduled advertisement and a requested advertising campaign'simpression goal.

Through the planning module an administrator or individual can definethe desired impression goal, display schedule, and target informationfor an advertisement and/or an advertising campaign. Further, theplanning module provides a mechanism through which the administrator orindividual can define the advertisement as either a committedadvertisement, i.e., an advertisement that the broadcaster commits todisplay, or a flexible advertisement, i.e., an advertisement that thebroadcaster will display based upon the remaining available advertisinginventory for the requested targeted market segment. By so doing, theplanning module facilitates maximizing available inventory by providinga mechanism for filling any advertising inventory remaining afterscheduling of committed advertisements with flexible advertisements.

Once advertisements are scheduled and defined as either committed orflexible advertisements, planning module calculates and assigns theweights that are to be used by a receiver module, such as a set top box,or the like, to select from available advertisements to display to theviewer. For certain types of advertising, the administrator orindividual may assign weights explicitly. These weights act as anindicator of the display frequency for the advertisement, i.e., thehigher the weight the higher the display frequency or the more timesadvertisement content associated with the advertisement is displayed toa viewer through the receiver module. Examples of advertisement contentinclude data included in graphics files, hypertext markup language(HTML) files, audio files, video files, and other audio and video data,which are used by the receiver module to present the advertisement tothe viewer.

The derived or explicitly-assigned weights, along with the displayschedule, target information, and advertising impression goal, aredelivered to a control module to update a duplicate display schedule.Using the received data, the control module generates one or moremetadata files associated with the advertisement. The metadata filesdefine, in a structured format, the time when the advertisement is to bedisplayed, the weight or display frequency of the advertisement, theduration of display of the advertisement, time-zone shifts to thedisplay data, the advertisement content associated with theadvertisement, and additional targeting information. Further, themetadata files include the type of advertisement where the advertisingtype indicates whether the advertisement is a committed advertisement ora flexible advertisement.

The control module delivers the advertisement, and more specifically,the advertisement content and the one or more metadata files associatedwith the advertisement, to the receiver module for selective display tothe viewer. The receiver module is intermittently connected to thecontrol module, and therefore receives the advertisement content and/ormetadata files from the control module periodically, sporadically, orupon request from the receiver module.

Upon receipt of the advertisement content and the metadata, the receivermodule deletes stored advertisement content and/or metadata files andsubstitutes the newly received advertising content and metadata filesfor the advertisement.

Subsequently, the receiver module displays the advertisement when neededby selectively displaying the advertisement's associated content basedupon the target criteria, these absolute and relative weights, andwhether the advertisement is committed or flexible advertisement.Consequently, the planning module, the control module, and the receivermodule can schedule and subsequently display advertisements, and morespecifically the advertisement content associated with theadvertisement, to a viewer, while the modules are intermittentlyconnected one with another.

Upon display of advertisement by the receiver module, a record of thedisplay is generated and stored by the receiver module for reporting tothe control module. These records of displayed advertising areaggregated and used to report on the status of the advertising campaignto the broadcaster and advertiser. The broadcaster or advertiser can usethis information to judge the success of the advertising campaign oradjust the campaign as necessary. In addition, records of displayedadvertising are used for inventory calculations for future advertisingcampaigns.

Additional features and advantages of the invention will be set forth inthe description which follows, and in part will be obvious from thedescription, or may be learned by the practice of the invention. Thefeatures and advantages of the invention may be realized and obtained bymeans of the instruments and combinations particularly pointed out inthe appended claims. These and other features of the present inventionwill become more fully apparent from the following description andappended claims, or may be learned by the practice of the invention asset forth hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above-recited and otheradvantages and features of the invention can be obtained, a moreparticular description of the invention briefly described above will berendered by reference to specific embodiments thereof which areillustrated in the appended drawings. Understanding that these drawingsdepict only typical embodiments of the invention and are not thereforeto be considered to be limiting of its scope, the invention will bedescribed and explained with additional specificity and detail throughthe use of the accompanying drawings in which:

FIG. 1 illustrates a schematic representation of one exemplary systemcapable of utilizing the functionality of the present invention;

FIG. 2 illustrates a more detailed schematic representation of a portionof the exemplary system of FIG. 1;

FIG. 3 illustrates a schematic representation of one data structure ofan overall ad inventory module of the planning module of the system ofFIG. 1;

FIG. 4 illustrates a schematic representation of one data structure ofan ad detail inventory module of the planning module of the system ofFIG. 1;

FIG. 5 illustrates a schematic representation of a user interface usedto view the inventory of available advertisements in accordance with thepresent invention;

FIG. 6 illustrates a schematic representation of a user interface usedto check the availability of advertisements in accordance with thepresent invention;

FIG. 7 illustrates a schematic representation of another user interfaceof the present invention;

FIG. 8 illustrates a schematic representation of an exemplary receivermodule of the system of FIG. 1; and

FIG. 9 illustrates a flow diagram depicting one exemplary method of thepresent invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention extends to systems and methods for scheduling thedelivery of advertisements, including associated advertisement contentand metadata files, to one or more receiver modules. Embodiments of thepresent invention provide systems and methods for scheduling the displayof advertisements from the available advertising inventory to achieve anadvertising impression goal. Therefore, embodiments of the presentinvention enable an advertiser to reserve inventory to meet anadvertising impression goal and to schedule the display of theassociated advertisements to fulfill the goal, and optionally resolvingconflicts between newly requested advertising campaigns and currentlyscheduled advertising campaigns.

The term “advertising impression” refers to the single display of asingle instance of an advertisement to a single household. Consequently,by defining 500,000 impressions, an advertiser wishes that the number ofhouseholds who see the advertisement multiplied by the average number oftimes the advertisement is watched per household equals 500,000. Theterm “advertising inventory” refers to the total number of availableimpressions for a particular targeted market segment or target. Thetarget is defined by a particular time, geographic area, viewer meetingdemographic criteria, specific viewer interest areas or preferences(e.g. movies, sports, etc.), the type of activity or application runningon the receiver (e.g. game, e-mail, electronic program guide, standardTV viewing, etc.), the genre of the television program being viewed, orthe like.

Additionally, embodiments of the present invention facilitate creatinghistorical data indicative of advertisements displayed and broadcastprogramming viewed by different viewers, at different times, and indifferent geographic areas. Utilizing this historical data, futureadvertising inventory can be estimated and used to schedule the displayof advertisements to meet the advertising impression goal.

Furthermore, embodiments of the present invention generate one or moremetadata files, each of which contains data and information specific tothe advertisement and/or the advertising impression goal. For example,the one or more metadata files include data indicative of a weightingfor the advertisements and/or the advertisement content associated withthe advertisement displayable to a target viewer. These weights define atype of display frequency for the advertisement and the advertisementcontent associated therewith. For instance, advertisements having ahigher weight are displayed more frequently than advertisements having alower weight. Consequently, exemplary systems and methods enableadvertisements to be selected for display by a receiver module basedupon these weights.

Additionally, the metadata files include data representative of theadvertising type. The advertising type indicates whether theadvertisement is a committed advertisement or a flexible advertisement.The committed advertisement is an advertisement that a provider commitsto display, while the provider selectively displays flexibleadvertisements for the remaining available advertising inventory for therequested targeted market segment. Weights associated with committedadvertisements, and the associated advertisement content, are absoluteweights, which guarantee an impression frequency, while weightsassociated with flexible advertisements, and associated advertisementcontent, are relative weights, which allocates remaining inventory amongall flexible advertisements in proportion to the defined relativeweights.

Additionally, embodiments of the present invention facilitate theselection of content for an advertisement by the receiver module forspecified advertisement locations with respect to the demographic orgeographic characteristics of the current user(s) of the receiver andthe current time. Using the metadata, the receiver module identifiesadvertisements that are valid for a specified advertisement location andthe current time. The receiver module then determines the absolute andrelative weights associated with the current user(s) market area,demographic or geographic characteristics for committed andnon-committed advertisements, respectively. In the event that the totalof the committed ad weights indicates that the available inventory hasnot been fully utilized, non-committed advertisements are then assignedabsolute weights based upon the available inventory relative to eachnon-committed advertisement's flexible weight as a proportion of thetotal flexible weight of all valid non-committed advertisements.

The embodiments of the present invention may comprise one or morespecial purpose or general-purpose computers, each of which can includecomputer hardware, as discussed in greater detail below. The embodimentsof the present invention may further comprise multiple computers linkedin a networked environment, where such network configuration is a localarea network, a wide area network, a wireless network, the Internet, orthe like.

Embodiments within the scope of the present invention also includecomputer-readable media for carrying or having computer-executableinstructions or data structures stored thereon. Such computer-readablemedia can be any available media that can be accessed by a generalpurpose or special purpose computer. By way of example, and notlimitation, such computer-readable media can comprise physical storagemedia such as RAM, ROM, EEPROM, CD-ROM or other optical disk storage,magnetic disk storage or other magnetic storage devices, or any othermedium that can be used to carry or store desired program code means inthe form of computer-executable instructions or data structures and thatcan be accessed by a general purpose or special purpose computer. Wheninformation is transferred or provided over a network or anothercommunications connection (either hardwired, wireless, or a combinationof hardwired or wireless) to a computer, the computer properly views theconnection as a computer-readable medium. Thus, such a connection isalso properly termed a computer-readable medium. Combinations of theabove should also be included within the scope of computer-readablemedia. Computer-executable instructions comprise, for example,instructions and data which cause a general purpose computer, specialpurpose computer, or special purpose processing device to perform acertain function or group of functions.

The invention will be described in the general context ofcomputer-executable instructions, such as program modules, beingexecuted by hardware devices, set-top boxes, receiver modules, othercomputers, or the like. Generally, program modules include routines,programs, objects, components, data structures, etc. that performparticular tasks or implement particular abstract data types.Computer-executable instructions, associated data structures, andprogram modules represent examples of the program code means forexecuting steps of the methods disclosed herein. The particular sequenceof such executable instructions or associated data structures representsexamples of corresponding acts for implementing the functions describedin such steps.

Referring now to FIG. 1, depicted is a schematic representation of oneillustrative environment within which the features and functions of thepresent invention can be implemented. Although reference is made to theimplementation of various features and functions of the presentinvention in the described environment, one skilled in the art canidentify other environments that can benefit from one or more aspects ofthe present invention.

As illustrated, a system 10 is configured to facilitate scheduling,delivering, and displaying advertisements, and associated advertisementcontent, to one or more viewers in a prescribed manner to meet arequested number of advertising impressions selected by an advertiser.For instance, an advertiser can utilize system 10 to request anadvertising campaign that displays advertisements, such as one or moreaudio advertisements, video advertisements, banner advertisements,combinations thereof, or the like, to a targeted market segment ortarget viewer in a controlled manner. Consequently, the provider and theadvertiser can define an advertising impression goal and schedule thedisplay of advertisements to the targeted viewers to achieve theadvertising impression goal.

Additionally, the provider of advertising inventory can scheduleadvertising campaigns in a controlled environment where substantiallyall available advertising inventory is filled with advertisements thatmust be displayed, i.e., committed advertisements, and advertisementsthat may be displayed in the event that advertising inventory isavailable, i.e., flexible advertisements. Further, the provider canresolve conflicts between a newly requested advertising campaign, andalready-scheduled advertising campaigns to substantially achieve thedesired advertising impression goal for the newly-requested campaign.

In the exemplary system of FIG. 1, system 10 includes one or moreplanning modules 12 a-12 n that communicate with one or more controlmodules 16 a-16 n through network 14, such as but not limited to, a widearea network, a local area network, a wireless network, the Internet, orthe like. Each planning module 12 a-12 n provides a mechanism forscheduling advertising inventory to achieve an advertising impressiongoal for different targeted market segments, whether the market segmentis defined by time, geographic location, i.e., local, regional,national, or international areas, demographic information, i.e., age,gender, educational background, occupation, presence of children in thehousehold, income, or some other manner as known to one skilled in theart in light of the teaching contained herein.

Consequently, each planning module 12 a-12 n can display the availableadvertising inventory for a selected target, schedule an advertisementcampaign displaying advertisements to achieve an advertising impressiongoal meeting the target criteria, facilitate querying of the availableadvertising inventory to verify the availability of inventory to achievethe advertising impressions for the target, indicate the overbooking ofadvertising inventory for a particular target, resolve conflictsassociated with overbooking advertising inventory, or the like.Additionally, each planning module 12 a-12 n facilitates the schedulingof advertisements to achieve an advertising impression goal based uponother criteria as can be identified by one skilled in the art in lightof the teaching contained herein.

Each planning module 12 a-12 n utilizes a combination of historicaladvertising inventory data and currently scheduled advertisements todefine an estimate advertising inventory and the availability ofadvertising impressions. The historical advertising inventory data, inone configuration, is collected by control module 16 a-16 n andperiodically, sporadically, or continuously delivered to planningmodules 12 a-12 n to update the scheduled advertising inventory storedtherein. By aggregating the historical data and the currently scheduledadvertising impressions, each planning module 12 a-12 n can generate anestimate of the available advertising inventory selectable byadvertisers or campaign managers.

Receiving data from and delivering data to each planning module 12 a-12n are control modules 16 a-16 n. Each control module 16 a-16 n storesthe advertisement content, associated with the advertisement, to bedisplayed to target viewers and manages the delivery of the scheduledadvertisement content for the advertisement in accordance with anadvertising campaign defined by planning modules 12 a-12 n.Additionally, each control module 16 a-16 n receives historical dataabout the delivered advertising impressions, along with geographic,demographic or other target information from receiver modules 20 a-20 n.For instance, control modules 16 a-16 n receive a log of advertisingimpressions viewed and associated target criteria, such as but notlimited to, type of application associated with the advertisement, timeof day, broadcast programming or non-broadcast programming being viewedwith the advertisement, demographic data about the viewer, geographicinformation, or the like.

In addition to receiving and delivering historical data, embodiments ofcontrol modules 16 a-16 n aggregate the received historical data andmanipulate the same based upon the manner by which the historical datawas collected by receiver modules 20 a-20 n. For instance, each controlmodule 16 a-16 n may receive historical data from a sampling of adefined number of receiver modules 20 a-20 n, whether such definednumber is generated by an administrator of control modules 16 a-16 n,some other individual having access to control modules 16 a-16 n,hardcoded within control modules 16 a-16 n, combinations thereof, or thelike.

The sampling of receiver modules 20 a-20 n is sufficiently large togenerate statistically significant aggregate data about any desiredtarget. For instance, to measure advertising inventory and impressionsto within 90% accuracy for a target audience that is 10% of the totalnumber of households a sample of about 3500 receiver modules issufficient. Smaller target audiences or greater accuracy require alarger sample. For example, measuring advertising inventory andimpressions to within 95% accuracy for campaigns targeting 10% of thetotal number of households requires a sample of about 14,000 receivermodules. In the event that the target audience for a campaign is 2% ofthe total number of households (such as a small geographic region),sampling must be based on 19,000 receiver modules to achieve 90%accuracy, or 75,000 boxes to achieve 95% accuracy. These sample sizesare derived using standard statistical techniques as known to oneskilled in the art. Further, other sampling sizes can be used dependingupon the desired accuracy associated with the target audience.

Each control module 16 a-16 n can apply a rule or multiplier to theaggregation data to generate estimated data representative of allavailable receiver modules 20 a-20 n. The rules or multipliers varybased upon the particular sampling size, the number of impressionsassociated with the sample, the frequency of reporting, or the like.

This manipulated historical data is delivered to planning modules 12a-12 n and used in scheduling future advertising campaigns. In thismanner, the data is manipulated by planning modules 12 a-12 n to projectthe advertising inventory available based upon the particular targetcriteria, i.e., geographic location, viewer demographic information,times, days, broadcast event or program, or the like.

Although reference is made to the functionality of aggregating thehistorical data received from receiver modules 20 a-20 n beingassociated with planning modules 12 a-12 n, other embodiments of thepresent invention can incorporate such functionality within one or moreof control modules 16 a-16 n or other modules of the present invention.

In addition to the above, control modules 16 a-16 n generate one or moremetadata files associated with the advertisement and the advertisementcontent to be delivered to receiver modules 20 a-20 n. These metadatafiles define various properties, attributes, elements, orcharacteristics of the advertisement and/or the advertisement content,such as but not limited to, when the advertisement content associatedwith the advertisement is to be displayed to a viewer utilizing receivermodules 20 a-20 n. Illustratively, the metadata files further includedata indicative of (i) weights assigned to the advertisement, and hencethe advertisement content, (ii) the type of advertisement, and hence theadvertisement content, i.e. whether the advertisement is committed orflexible, (iii) when the advertisement, and hence when the advertisementcontent is to be displayed, (iv) target information for theadvertisement, and hence the target advertisement content, (v) theadvertisement content to be delivered for the advertisement, or thelike.

Control modules 16 a-16 n deliver advertisement content and metadatafiles associated with the advertisements to receiver modules 20 a-20 nvia broadcast network 18. In this exemplary embodiment, broadcastnetwork 18 is a satellite network where data from control module 16 a-16n is delivered to receiver modules 20 a-20 n via a communication line,such as electromagnetic transmission.

One skilled in the art can identify various other networks capable ofperforming the desired functions. For instance, broadcast network 18 caninclude a cable network for delivering data from control modules 16 a-16n to receiver modules 20 a-20 n using cable lines, fiber optic lines, orthe like, while utilizing a plain old telephone system (POTS) to deliverdata from receiver modules 20 a-20 n to control modules 16 a-16 n.Alternatively, a cable connection, a wireless connection, an asymmetricdigital subscriber line (ADSL) connection, Integrated Services DigitalNetwork (ISDN) connection, Ethernet connection, or similar otherconnections known to those skilled in the art, can be used to deliverdata and requests from receiver modules 20 a-20 n to control modules 16a-16 n, and vice versa. Various other networks are known to thoseskilled in the art in light of the teaching contained herein.

Receiving data from and delivering data to control modules 16 a-16 n arereceiver modules 20 a-20 n. Receiver module 20 a-20 n can intermittentlyreceive data from control modules 16 a-16 n. Similarly, receiver module20 a-20 n can intermittently deliver data to control modules 16 a-16 n.In alternate embodiments, the delivery of data to and/or from receivermodule 20 a-20 n occurs periodically or continuously.

Each receiver module 20 a-20 n can comprise a special purpose orgeneral-purpose computer or special purpose processing device includingvarious computer hardware and/or software known by one skilled in theart for receiving signals or data from control modules 16 a-16 n,broadcast programming sources, or some other source for broadcastprogramming, advertisement content, interactive broadcast programmingcontent, or the like. Exemplary receiver modules 20 a-20 n can include acable television box, a digital video broadcasting system (“DVB”), someother type of digital satellite system receiver (“DSS”), other types ofhardware devices including, but not limited to, cellular phones with adigital display, or any device with connectivity to a service wishing todeliver any range of advertising media, combinations thereof, or thelike.

Generally, each receiver module 20 a-20 n is configured to receiveadvertisement content and metadata files from control modules 16 a-16 n.Each receiver module 20 a-20 n includes an ad engine that is capable ofidentifying the availability of advertisement content associated with ascheduled advertisement, selecting the advertisement content associatedwith the scheduled advertisement based upon the assigned weights, andinitiate display of the advertisement content associated with thescheduled advertisement in an attempt to meet or fulfill the requestedadvertising impression goal. The ad engine determines which metadatafile to use and selects the advertisement content associated with suchmetadata and other target criteria for the scheduled advertisement.Further, receiver modules 20 a-20 n, through the ad engine, remove anyexpired or non-current stored advertisement content and/or metadatafiles, analyze the particular times for displaying the advertisementcontent, and generate a queue or list of advertisement content that canbe displayed to the viewer in accordance with the advertising weightsand the space available for requested advertisements.

The receiver module 20 a-20 n, such as through the ad engine, identifieswhich specific advertisement or combination of advertisements to displaywhen an ad impression is due to be shown on the screen. The selection isbased upon whether the advertisement, in the list or queue ofadvertisements, is a committed or a flexible advertisement and theparticular weights, whether absolute or flexible, for the advertisement.Each receiver module 20 a-20 n, in accordance with the selection made bythe ad engine, displays the advertisement content associated with thecommitted advertisement in accordance with the available advertisinginventory and the absolute weights of each committed advertisement,while the remaining advertising inventory is filled with the flexibleadvertisements based upon the relative weights of the availableadvertisements.

Illustratively, when an electronic program guide is being displayed tothe viewer, it is possible for various advertisements to besimultaneously displayed to the viewer, such as in two differentlocations for advertisements. During the display of the instance of theelectronic program guide, the ad engine selects first advertisementcontent of the first advertisement to be displayed in one location ofthe electronic program guide based upon whether the advertisement is acommitted or a flexible advertisement and the weights of theadvertisement. The ad engine removes the first advertisement content ofthe first advertisement from the queue or list of availableadvertisement content and subsequently retrieves second advertisementcontent of a second advertisement to be displayed in the second locationfrom the queue or list that does not include the first advertisementcontent of the first advertisement. In this manner, the ad engine limitsthe possibility that the same advertisement content of the sameadvertisement is displayed in both locations of the electronic programguide.

When another instance of the electronic program guide is displayed, anew queue or list of available advertisement content is created thatcontains all available advertisement content for all availableadvertisements, whether or not such advertisement content has beenpreviously been displayed. Although this is illustrative of oneembodiment of the present invention, other embodiments of the presentinvention retain the advertisement content of the first selectedadvertisement with the list or queue and allow for duplicate showings ofthe advertisement content of the advertisement.

In addition to the above, each receiver module 20 a-20 n can track thenumber of advertising impressions displayed by receiver modules 20 a-20n. For example, each time an advertisement is displayed to the targetviewer, each receiver module 20 a-20 n generates a log of the displayedadvertisements. This log is subsequently uploaded to control modules 16a-16 n, whether periodically, sporadically, continuously, or the like,as historical data used to generate future schedules of advertisinginventory and/or advertising impressions. Such historical data is alsoused to generate reports on the advertising campaign for use by thebroadcaster or advertiser in analyzing the success of each campaign orto change the campaign as desired. In other embodiments, this type oftracking can be deferred until each receiver module 20 a-20 n determinesto initiate the tracking, such as based on stored rules or information

In addition to tracking the number of impressions, receiver modules 20a-20 n can track viewer preferences and viewer demographic information.Illustratively, receiver module 20 a-20 n can periodically requestinformation from the viewer of receiver module 20 a-20 n regardingincome, location, age, gender, or the like, and update informationstored at control module 16 a-16 n. Alternatively, such demographicinformation is gathered during installation of receiver module 20 a-20n, purchases of programming packages from the cable or satelliteproviders, or the like.

Furthermore, each receiver module 20 a-20 n can track whatadvertisements, and associated advertisement content, is viewed. In theevent that the viewer selects to view additional information about goodsor services promoted through the advertisement, i.e., selects theadvertisement and initiates a link to a web page or other previouslystored content providing such additional information, receiver modules20 a-20 n can track such actions. Optionally, receiver modules 20 a-20 ncan track when a viewer performs a click-through operation by selectingdisplayed advertisement content of an advertisement for additionalinformation about the goods or services promoted by the advertisement.Receiver modules 20 a-20 n, therefore, generate a log of the uniformresource identifier (URI) associated with the page displayed to theviewer based upon the viewer selecting the advertisement.

Referring now to FIG. 2, depicted is a more detailed schematicrepresentation of a portion of system 10. As shown, a single planningmodule 12 communicates with a single control module 16 via a network 14.Although the following discussion is directed to single modules andnetworks, it can be appreciated that a similar discussion can be madefor systems that include multiple modules or networks.

As depicted, planning module 12 includes an interface module 30 incommunication with a reservation module 32. Interface module 30 isconfigured to display information or data to an individual usingplanning module 12, and more specifically reservation module 32 and/or adata module 34, to schedule an advertising impression goal, i.e., arequested number of times that the advertisement is displayed to thetargeted market segment or targeted viewer or household. Thisinformation or data is indicative of the availability of advertisinginventory for the specific targeted market segment or target viewer.

Reservation module 32 manages the scheduling of advertising inventoryand updates control module 16 with changes made to existing advertisinginventory. Reservation module 32, therefore, is able to update theadvertising inventory and retrieve information or data from data module34 storing the advertising inventory.

The advertising inventory information stored within data module 34 canbe stored in a variety of different configurations. Data module 34, inone embodiment, is a multi-dimensional database that links multipleattributes, elements, properties, or the like together in such a mannerthat the information is accessible to modules accessing the database.For example, the database can store advertising inventory in accordancewith different target criteria. The target criteria can include, but isnot limited to, information about the times when an advertisement is tobe displayed to an individual using receiver module 20, the market area,the location on the screen where the advertisement is to be displayed,and the time when the advertisement is to be displayed to a viewer.

In the preferred embodiment of the invention, information stored withindata module 34 is divided into two sub-modules: overall advertisinginventory module 50, illustrated in FIG. 3, and advertising detailinventory module 52, illustrated in FIG. 4. Overall inventory datamodule 50 provides a summary view of advertising impression inventoryand scheduled advertising campaigns, including information about thetotal number of advertising impressions available, total number ofadvertisements that have been scheduled as committed, total number ofscheduled flexible advertisements and the total weight of flexibleadvertisements for any defined target criteria. The data associated withoverall inventory data module 50 varies based upon the particular targetcriteria selected by a user of planning module 12. Stated another way,the data associated with overall inventory data module 50 will varybased upon the particular dimensions of the multi-dimensional data storeaccessible by planning module 12 based upon criteria associated with thetargeted viewer, the day, time, ad space of the advertising impression,market area, or the like.

In contrast, advertising detail inventory module 52 provides detailedscheduling information for each scheduled advertisement. Informationrelating to each advertisement includes the total impression goal andadvertising weight for any defined target. Advertising detail inventorymodule 52 also contains information about the advertising type for eachscheduled advertisement. In a similar manner to overall advertisinginventory module 50, the data associated with advertising detailinventory module 58 varies based upon the particular target criteria forthe specific scheduled advertisement. Stated another way, in thisillustrative embodiment, each scheduled advertisement will havedifferent values from a date dimension 62, a time dimension 64, a marketarea dimension 66, an ad space dimension 68, and an ad item dimension120.

An exemplary data structure of overall advertising inventory module 50is illustrated in FIG. 3. Illustratively, overall advertising inventorymodule 50 receives data from date dimension 62, time dimension 64,marketing area dimension 66, and ad space dimension 68. The data storedwithin overall advertising inventory module 50 is representative of anycombination of values of date dimension 62, time dimension 64, marketingarea dimension 66, and ad space dimension 68. Each combination of valuesis unique for a particular advertising campaign and/or scheduledadvertisement. The particular embodiment of data module 34 will bediscussed with respect to a relational database; however, one skilled inthe art can appreciate that data module 34 can store the data in avariety of other structures, such as but not limited to, amultidimensional data cube, an OLAP data store, or the like.

As shown, module 50 includes a total inventory attribute 70. The totalinventory attribute 70 defines the quantity of all available inventoryfor which advertising impressions can be scheduled for different targetcriteria. Similarly, a total committed inventory attribute 72 describesthe number of advertising impressions scheduled, i.e., the advertisinginventory committed to one or more advertisers. Another attribute ofmodule 50 is the total available inventory attribute 74. Attribute 74defines the number of available advertising impressions, i.e. inventorythat has not been scheduled for committed advertisements. In otherwords, attribute 74 defines the number of available advertisingimpressions for advertisers to schedule new advertisements and is thedifference between total inventory 70 and total committed inventory 72.The total flexible weight attribute 76 defines the sum of relativeweights of scheduled flexible advertisement content at each definedtarget.

FIG. 4 defines the data structure of advertising detail inventory module52. Attributes of module 52 define the different advertisementsscheduled and associated advertising inventory reserved for eachadvertisement. As shown, impression goal attribute 116 defines thenumber of advertising impressions scheduled to be delivered to viewersof the defined target for the specific advertisement. Ad weightattribute 118 represents either the absolute or relative weight of theadvertisement depending on the type of the advertisement as described inad type attribute 124 of ad item dimension 120. In the event that theadvertisement is scheduled as a committed advertisement, ad weightattribute 118 represents the absolute weight for the advertisement, andhence the advertisement content associated with the advertisement.Conversely, in the event that the advertisement is scheduled as aflexible advertisement, attribute 118 represents the flexible weight ofthe advertisement, and hence the advertisement content associated withthe advertisement.

The multi-dimensional structures of sub-modules 50 and 52 enable linkingof different dimensions of the database. For example, when a number ofadvertising impressions are selected for particular times and geographicareas, links are formed between one or more time attributes andgeographic area attributes associated with a specific advertisement orsets of advertisements, i.e., the inclusion of one or more linking orcommon fields or attributes that connect overall advertising inventorymodule 50 or advertising detail inventory module 52 with each datedimension 62, time dimension 64, marketing area dimension 66, ad spacedimension 68, or the like that defines the particular market area,demographics, impression goal. These linkages between dimensions definecells within the multi-dimensional structures of sub-modules 50 and 52that describe sets of target viewers. The same set of dimensions isshared by module 50 and 52 with one exception: module 52 has one extralink to the ad item dimension 120.

Overall advertising inventory module 50 and advertising detail inventorymodule 52 both include a date attribute 78 that links overalladvertising module 50 or advertising detail inventory 52 to datadimension 72. The data attribute 78 defines the particular date when theadvertisement is to be displayed to the specific target market segment,target viewer, target household, or the like. Date dimension 62 definesthe scheduled day for displaying the advertisement. For instance, datedimension 62 includes one or more sub-attributes that define thespecific calendar day, day of the week, day of the month, particularmonth, combinations thereof or the like, as represented bysub-attributes 92-96.

Another dimension associated with overall advertising inventory module50 and advertising detail inventory module 52 is time dimension 64. Timedimension 64 defines the specific times when the scheduled advertisementis displayable to achieve the desired number of advertising impressions.Time dimension 64 includes a time attribute 90 that defines theparticular time period represented by the data identified by overalladvertising inventory module 50. This time attribute 90 links timedimension 64 to overall advertising inventory module 50. For instance,time dimension 64 can include various attributes, such as but notlimited to, an attribute defining the number of times the advertisementcontent is to be displayed in a 30 minute period, 1 hour period, and a 6hour period, i.e., 30 min attribute 92, hour attribute 94, and 6 hourattribute 96 respectively. Additionally, time dimension 64 can includeattributes to define whether the advertisement, and hence theadvertisement content associated with the advertisement, is to bedisplayed at primetime, in the morning or in the afternoon or evening,i.e., attributes 98 and 100 respectively. In alternate embodiments, timedimension 64 includes attributes that allow scheduling of advertisingimpressions for time ranges of one minute or greater.

Marketing area dimension 66 is another dimension associated with overalladvertising inventory module 50 and advertising detail inventory module52. This dimension defines the particular market area where theadvertisement is to be displayed to fulfill the advertising impressiongoal. As with the other dimension of the present invention, market areadimension 66 includes a market area ID 102 that defines the selected ordefined market area associated with the scheduled advertising campaign.Further, market area dimension 66 includes a name attribute 104 thatdefines the display name of each market area, i.e., the name displayedto a user of planning module 12 a-12 n identifying a specified targetarea. In addition to the above, market area dimension 66 optionallyincludes attributes that define various properties of the available themarket area, such as but not limited to, a market area rank, market areasize, market area population, number of households within the marketarea, the average household size, the average household income, thepopulation of the market area by category (i.e., population having ages0-14, 15-24, 25-44, 45-54, 55 and above), demographic details,geographic properties of the market area, or the like, that areillustratively combined in market area description 102. In alternateembodiments, such properties can be associated with individualattributes of market area dimension 66.

Another dimension of overall advertising inventory module 50 andadvertising detail inventory module 52 is the ad space dimension 68. Asthe name suggests, this dimension defines the particular advertisingspace where the advertisement is to be displayed to fulfill theadvertising impression goal. Stated another way, ad space dimension 68defines where, on a displayable screen, image, frame, frameset, or thelike, the advertisement is to be displayed to the viewer. For instance,ad space dimension 68 can define that during broadcast programming, theadvertisement can be displayed in the left-hand, upper corner of theviewable portion of video image. Similarly, ad space dimension 68 candefine that advertisement is displayed at an upper, right-hand corner ofan electronic program guide, a displayed web page associated with anenhanced programming experience, during a video game, movie review page,or the like. Consequently, ad space dimension 68 includes an ad space ID110 that uniquely defines each available ad space in such a way thatplanning module 12 can search for these unique definition in a simpleand efficient manner. In contrast, an ad space name attribute 112defines unique names that are displayable through the user interfaceassociated with planning module 12. For example, the simple names foreach advertising space can include, but are not limited to, upperleft-hand corner, upper right-hand corner, lower left-hand corner,lower-right hand corner, upper portion, lower portion, right portion,left portion, center portion, combinations thereof, of the like.

In addition to the above, ad space dimension 68 can include an ad spacedescription attribute 114 that provides an easily understandabledefinition of the particular location where the advertisement is to bedisplayed. For instance, the description associated with ad spacedescription attribute 114 can identify that the ad space is in the upperleft-hand corner of an EPG, upper right-hand corner of a displayed moviereview, lower left-hand corner of a game screen, lower-right hand cornerof displayed broadcast programming, upper portion of enhancedprogramming, or the like.

Referring now to FIG. 4, advertising detail inventory module 52 includesone additional dimension: advertising item dimension 120. This dimensioncontains an entry for each advertising item scheduled for display.Consequently, dimension 120 includes an ad ID 122 that defines each ofthe available advertisements uniquely to allow planning module 12 a-12 nto schedule such advertisements and enable control module 16 a-16 n toselect the same, and receiver module 20 a-20 n to identify andthereafter display the advertisement content associated with theadvertisement. The dimension 120 further includes advertising typeattribute 124, advertising name attribute 126, advertising descriptionattribute 128, and advertising total impression goal 130 describing theadvertising item.

Advertising type attribute 124 defines whether the advertising item iscommitted to be displayed, or flexibly displayed. An advertisement thatis committed to be displayed will be displayed frequently enough amongthe overall target audience to achieve the impression goal, while anadvertisement that is flexible may be displayed when the availableadvertising inventory is not completely filled with committedadvertisements. In the event that advertising type attribute 124 isundefined, planning module 12 designates the advertisement as flexibleso that no unintended advertisement is defined as being committed.

Advertising name attribute 126 defines the name of the advertising item,while advertising description attribute 128 defines a description of theadvertisement associated with the advertisement defined by advertisingname attribute 126 and ad ID 124.

Another attribute is advertising total impression goal 130. Thisattribute defines the total number of advertising impressions to bedisplayed for the specific advertisement, i.e., the advertisingimpression goal.

In addition to including values associated with ad item dimension 120,advertising detail inventory module 52 includes an impression goalattribute 116 and an ad weight 118. The impression goal attribute 116defines the specific advertising impression goal for the specificcombination of values from date dimension 62, time dimension 64, marketarea dimension 66, ad space dimension 68, and ad item dimension 120. Thead weight attribute 118 is the specific weight for the scheduledadvertising impression defined by the values contained withinadvertising detail inventory module 52. Depending upon the particularadvertising type defined by ad type attribute 124, the weight defined byad weight attribute 118 can be a relative weight, such as when ad typeattribute 124 defines the advertising impression as flexible, or can bean absolute weight, such as when ad type attribute 124 defines theadvertising impression as committed.

Stated another way, an advertisement designated as committedadvertisement, and hence the advertisement content of the advertisementcontains an absolute weight value based upon a total advertising basefactor. For example, the absolute weight value can be a value between 0and 100, calculated by planning module 12 based on comparing theimpression goal to the total inventory for that advertisement's targetduring the campaign's duration and representing the percentage ofinventory to be filled by this advertising. Similarly, an advertisementdesignated as flexible includes a relative weight value of between 1 and100. Non-committed advertising inventory is filled by the availableflexible content in proportion to their relative weights. By definingweights for the advertisement content, a broadcaster can, in a detailedmanner, define different levels of committed advertisement and flexibleadvertisement. For instance, a committed advertisement weighted closerto 1 will be displayed to the target audience less often than acommitted advertisement closer to 100. Similarly, a flexibleadvertisement closer to 1 will be displayed to the target audience lessoften than a flexible advertisement closer to 100.

Although ranges are given for values of the committed and flexibleadvertising weights, it can be understood that the numbers used todefine weights, whether committed or flexible, by ad weight attribute118 can be implemented using any base factor or desired scale ofnumbers. Illustratively, the weights for committed and flexibleadvertisement can be defined using a base factor of 1000, i.e., weightsare defined by values between 0 and 1000.

It can be appreciated by one skilled in the art, that various othertargeting criteria can be associated with scheduled advertisements, suchas but not limited to, target viewer interest areas or preferences (e.g.movies, sports, etc.), the targeted type of activity or applicationrunning on the receiver (e.g. game, e-mail, electronic program guide,standard TV viewing, etc.), the targeted genre of the television programbeing viewed, or the like. Implementing additional target criteriaentails adding additional dimensions that define various properties andattributes of the target criteria, whether or not such additionaldimensions are included in both the overall advertising inventory module50 and advertising detail inventory module 52.

Generally, data module 34 can be hierarchal, relational, flat, or otherdatabase structure, including related database management systems (notshown). Such data module 34 can utilize modular or fixed memory,magnetic storage disks, CDRW, optical storage media, or other massstorage for storing the information and data.

Returning to FIG. 2, reservation module 32 is configured to notify anindividual utilizing interface module 30 when advertising inventory isoverbooked for requested target criteria. For instance, as theindividual defines the advertising impression goal and specific targetcriteria associated with the requested advertising campaign, reservationmodule 32 compares current advertising inventory availability againstthe requested impression count and target criteria. Based upon thiscomparison, reservation module 32 identifies the various conflictsbetween the requested and currently committed advertising inventories.

In the event that there is sufficient remaining available inventory(e.g. inventory not yet committed) to meet the impression goal of therequested advertising campaign, given the target criteria, reservationmodule 32 reserves the appropriate proportion of total advertisinginventory—meeting the target criteria—for the requested advertisementand campaign. Further, reservation module 32 marks the times and targetinformation as being reserved for the particular campaign.

Reservation of committed advertisements using reservation module 32automatically assigns the particular advertising campaign with a weight.This weight, in one embodiment, is equal to the advertising impressiongoal for the campaign divided by the total number of availableimpressions for defined target criteria. Consequently, the individualscheduling the advertising impression weights the campaign as a whole.Therefore, in one embodiment, when receiver module 20 determines theparticular order or frequency to display the advertisement, andassociated advertisement content, to achieve the advertising impressiongoal, advertising campaigns with greater weights can be displayed moreoften than other campaigns. In other embodiments, an individual mayspecify the desired weight directly.

Alternatively, an advertiser may request a campaign involving more thanone advertisement. In this case, each advertisement in the campaign maybe treated separately, each advertisement having its own committed orflexible weight rather than having a single weight for the entirecampaign. Consequently, when receiver module 20 determines theparticular order or frequency to display the advertisement, receivermodule 20 treats each advertisement separately regardless of the numberof advertisements within a campaign. In this case, the frequency ororder of display is determined at the individual advertisement levelrather than at the campaign level.

The weight defined by the individual can be an absolute weight forcommitted advertisements, or a relative weight for the flexibleadvertisements. The relative weights of the advertisements are used toselect flexible advertisements to be displayed by receiver modules 20a-20 n when committed advertisements do not fill the availableadvertising inventory. These relative weights are used to define thedisplay frequency of the available flexible advertisement for theremaining advertising inventory.

According to another aspect of the present invention, the absoluteweights defined by the individual can be used to define the displayfrequency of the committed advertisement when a provider has overbookedthe available advertising inventory. For instance, when an individualoverbooks advertising inventory for a particular time period, theabsolute weights of committed advertisements are used to define thedisplay frequency for the committed advertisements. An example of suchusage of the absolute weights is provided hereinafter.

To limit the potential for overbooking of advertising inventory,reservation module 32 delivers a notice to the individual schedulingadvertising impression goals indicating that particular times are“overbooked,” i.e., two or more different campaigns are scheduled forthe same time with impression targets that exceed available inventory.Although the individual receives such notification, the individual canoverride the notification and schedule the new campaign, therebyoverbooking a particular time.

In another embodiment of the invention, when a potential for overbookingis found by reservation module 32, reservation module 32 provides theindividual with the ability to divide the requested campaign into two ormore sub-campaigns to avoid over booking. For example, this event canoccur when an advertiser wishes to schedule a campaign for a duration of2 weeks in a particular geographic area but less or no committedadvertising inventory is available during the first week in therequested geographic area. When the individual attempts to schedule thecampaign, reservation module 32 alerts the user of the conflict in thefirst week. In the case when there is less committed advertisinginventory available in the first week, reservation module 32 allows theuser to schedule the campaign with a different weight in the first week,reflecting the lower available inventory. In the case when no committedadvertising inventory is available during the first week, reservationmodule 32 provides the user with the option to divide the campaign intotwo sub-campaigns. During the first week when there is no availablecommitted advertising inventory, reservation module 32 provides theindividual with the option of scheduling the advertisement as flexibleinventory, to schedule the advertisement at a different time of day, orthe like. During the second week, when committed advertising inventoryis available, the user schedules the campaign with a large-enoughimpression target to meet the overall campaign goal. In this way,reservation module 32 effectively divides the originally requestedcampaign into two or more sub-campaigns as necessary to best meet theimpression goal.

Alternatively, other embodiments of the present invention avoidoverbooking by preventing the individual from scheduling two or morecampaigns for the same time, in the same area, to the same viewers in away that exceeds available inventory. Further, although reference ismade to dividing a two week advertising campaign into two separate weeklong advertising campaigns, one skilled in the art can understand thatreservation module 32 can be configured to divide a campaign into anynumber of sub-campaigns, including allowing modifying of advertisingtype and weights on a per advertising day basis, per time-slot basis,per-market area basis, or on the basis of any dimension of themulti-dimension structure associated with data module 34 and/or planningmodule 12. Additionally, reservation module 32 can perform various otheroptions or functionality as known to one skilled in the art in light ofthe teaching contained herein.

In addition to scheduling advertising impression goals for committedadvertisements, reservation module 32 is capable of reservingadvertising impression goals for flexible advertisements. The flexibleadvertisement is shown when the amount of committed advertisements isless than the available advertising inventory. The flexibleadvertisement includes a relative weight that defines the relativelikelihood of showing the flexible advertisement compared to all otherflexible advertisement available and meeting the target criteria. Inthis manner, advertisements, whether committed or flexible, are alwaysdisplayed to the viewer.

While reservation module 32 generates information and data regardingscheduled advertising campaigns, availability of advertising inventory,or the like, interface module 30 displays such information through agraphical display. Illustrated in FIGS. 5-7, are embodiments ofexemplary graphical displays through which a user can view inventory,check availability of advertising inventory, and schedule advertisingcampaigns. The following discussion will be made to a user progressingfrom viewing available inventory, viewing available inventory for aspecific campaign, to booking the advertising campaign.

With reference to FIG. 5, illustrated is a graphical display, asreferenced by numeral 170 a, depicting the information that is presentedto a user of planning module 12 upon the user selecting to viewinventory that matches the criteria selected by the user. As shown,graphical display 170 a includes a selection bar 172 through which auser can select to view inventory using button 174, check theavailability of advertising impression count, i.e., advertisinginventory, using button 176 or book advertising inventory to schedule anumber of advertising impressions using button 178. Although referenceis made to using buttons, one skilled in the art can appreciate that therecited functionality can be initiated through other types of interface,such as but not limited to, drop down menus, check boxes, or the like.

The graphical display 170 a includes a start date field 180 and a stopdate field 182. These fields 180, 182 are selectable by the user todefine particular dates for which a user wishes to view availableadvertising inventory. These same fields 180, 182 can also define thosedates for which a user wishes to check the availability of advertisinginventory for a defined advertising campaign (FIG. 6) and those datesfor which a user wishes to book advertising inventory for a desiredadvertising campaign (FIG. 7). Generally, the functionality of fields180, 182 remains the same, with other portions of graphical display 170a being changes based upon the particular button selected from tool bar172. Although reference is made to selecting a date, one skilled in theart can appreciate that the user can enter a date into the field orselect from a drop down calendar to define the specific date.

To further define the particular advertising inventory that a userwishes to view, the user can define start and stop times through starttime 184 and stop time 185. For instance, an advertiser may wish to viewadvertising inventory for an advertising campaign that is to display adesired advertisement to achieve a defined number of impressions between7:00 pm and 9:00 pm during the campaign period defined by start datefield 180 and stop date field 182.

To enable the user and/or advertiser to define a particular marketingarea for the advertising inventory to be displayed, graphical display170 a includes an available market area field 188 and a selected marketarea field 190. Displayed within available market area field 188 is alist of areas within which a campaign can be commenced. The namesdisplayed within field 188 are those names defined within market areadimension 66 (FIGS. 3 and 4).

A user and/or advertiser through use of an input device, such as ajoystick, mouse, keyboard, or the like, can select one or more marketareas for which the available advertising inventory can be viewed. Thosemarket areas, such as but not limited to, geographic regions, selectedby the user through manipulating one or more controls 189 are displayedin a selected market area field 190.

In addition to the above, graphical display 170 a includes an ad spacefield 192 that is associated with ad space name 112 (FIGS. 3 and 4) andmore generally ad space dimension 68. Through this field, an advertiserselects the particular location(s) for which the advertiser wishes toview available advertising inventory. As illustrated, the user canselect to view all available ad spaces for the particular market area,time, and days.

Following defining each of the above-described fields illustrated inFIG. 5, the user and/or advertiser can select button 194 to causeplanning module 12 and more specifically reservation module 32 toanalyze the criteria defined in the various fields and return theoverall advertising inventory matching the defined criteria in a displayregion 196. The user and/or the advertiser can review the displayedadvertising inventory to identify potential advertising inventory thatthe advertiser may wish to utilize. Illustratively, display region 196displays the total inventory on a time and day basis, i.e., on April2^(nd) and 3^(rd) between 18:00 and 20:00. The display region 196 alsodisplays the inventory that is committed, the available inventory, andthe flexible weights for the available inventory.

After reviewing the available inventory for selected criteria, theviewer and/or advertiser can check the availability of advertisinginventory for more specifically defined criteria, such as throughgraphical display 170 b illustrated in FIG. 6. The graphical display 170b includes the same fields and functionality of graphical display 170 a,while including additional fields that enable the user and/or advertiserto define further criteria for an advertising campaign.

To enable the user and the advertiser to define whether the requestednumber of impressions is to be guaranteed or not, graphical display 170b includes an ad type field 200. Through this ad type field 200, a useror advertiser can define the advertisement as flexible or committed.This ad type field 200 is associated with ad type attribute 124 and moregenerally the ad item dimension 120 of data module 34 (FIGS. 2-4).

The graphical display 170 b allows the user and/or advertiser to definean impression goal for the advertisement associated with the advertisingcampaign through use of an impression goal field 202. Further, graphicaldisplay 170 b includes a total inventory field 204 that defines thetotal available inventory for the criteria defined by the fields ofgraphical display 170 b. The value for total inventory field 204 isgenerated by planning module 12 upon the user and/or advertiserselecting to check availability of advertising inventory, whether thisis initiated through selecting button 176 or through selecting the “GO”button 194.

In addition to calculating a value for total inventory field 204 uponselecting the “GO” button 194, or one of the other buttons associatedwith selection bar 172, planning module 12 generates the advertisingweight for the advertisement and displays the same in a computed adweight field 206. Further, planning module 12 generates a grid of totalinventory, total available inventory, requested inventory based upon theselected impression goal and computed ad weight, and grand totals forthe same, the grid with display region 196. This grid also indicates,such as through highlighting particular fields of the grid, where thereis a conflict between the requested advertising inventory and theavailable advertising inventory. Although reference is made tohighlighting particular fields, one skilled in the art can identifyvarious other manners or means for identifying a conflict betweenrequested advertising inventory and available advertising inventory.

As illustrated, the grid within display region 196 includes a selectablemarket area field 205 through which a user can select specific marketareas and view the associated schedule of available advertisingimpressions. The currently selected market area is identified withinfield 212. In a similar manner, the grid depicted in display region 196includes a selectable ad space field 210 through which a user can selecta specific location where the advertisement is to be displayed to thetargeted market segment, targeted viewer, and/or targeted household. Theparticular selected ad space is displayed in field 214.

To enable a viewer to select different time increments, the grid withindisplay region 196 includes a selectable time field 216 that allows theuser and/or advertiser to select the advertising inventory to bedisplayed within the grid. For instance, the available advertisinginventory for one (1) hour periods are displayed within inventory grid220 because time field 216 is selected to display inventory in one (1)hour periods. When a user and/or advertiser selects a thirty (30) minuteperiod or a six (6) hour period, inventory grid 220 displays availableadvertising inventory for each thirty (30) minute period or a six (6)hour period respectively.

The inventory grid 220 includes one or more rows, one row for eachcalendar date between the date defined in start date field 180 and stopdate field 182. Each time period of each row is divided into threecolumns, one for the total inventory for the time period, one for thetotal available inventory, and one for the requested inventory, asdesignated by reference numerals 222, 224, and 226 respectively.Further, inventory grid 220 includes one or more total fields 227 a, 227b, 227 c having values indicative of the total inventory, the totalavailable inventory, and the total requested inventory for therespective columns. Additionally, inventory grid 220 includes grandtotal columns that have values indicative of the total inventory, thetotal available inventory, and the total requested inventory for theperiod of time defined by start date field 180 and stop date field 182,i.e., between 6:00 pm and 8:00 pm in this illustrative example.

With reference to FIG. 7, when the user and/or advertiser selects tobook the requested advertising campaign, such as through activatingbutton 178, planning module 12 and/or reservation module 32 generates adialog box or other similar prompt that warns the user and/or advertiserabout the conflict between the requested advertising campaign and thecurrently available advertising inventory. This prompt provides the userand/or advertiser with the option of booking the campaign, canceling thecampaign, or adjusting the campaign. In the event that the user and/oradvertiser select to adjust the campaign, planning module 12 and/orreservation module 32 automatically generates a list of potentialmodifications to the advertising campaign. For instance, planning module12 and/or reservation module 32 can break the overall campaign intohourly, daily, weekly, or the like sub-campaigns and modify theimpression goals for each separate sub-campaign based upon the availableadvertising inventory and achieving the impression goal for the overallcampaign, such as by increasing impression goals where there is asurplus of advertising inventory to offset sub-campaigns that have animpression goal deficiency.

Various other manners are known to those skilled in the art to presentavailable and scheduled advertising inventory, advertising impressiongoals, or the like, to an individual. For instance, in anotherconfiguration, this information can be displayed through use of dropdown menus, where each specific menu includes a number of sub-menus toenable the individual to select particular times and target information.In another configuration, the graphical display includes a plurality oflinked folders, or the like.

The interface module 30 displays the available inventory for theparticular times and other target criteria defined by the advertiser ofthe advertisement. Further, interface module 30 displays previouslycommitted advertising inventory, i.e., advertising inventory that hasbeen committed to the same or other advertisers. For instance, when anadvertiser requests an advertising impression goal of 1,000,000impressions in a particular geographic area, at a particular time, to aparticular demographic group of individuals, interface module 30displays information indicative of the scheduled number of impressionsat those times, for that particular geographic area, for that particulardemographic group to achieve the advertising impression goal.

Additionally, interface module 30 provides the interface through whichthe individual can query a data module 34 and/or reservation module 32to identify the availability of advertisements. Further, interfacemodule 30 enables an individual to view a schedule of committed orflexible advertisements, request and receive reports indicatingscheduled and unscheduled advertising inventory by target criteria,combinations thereof, or the like.

Furthermore, interface module 30 may be used to deliver reports to theuser on completed advertising campaigns or campaigns in progress. Thesereports may include, but are not limited to, information about thestatus of a campaign, the number of impressions delivered, the expecteddelivery of impressions, and the like. Such reports may be used by thebroadcaster and advertiser to monitor or analyze the campaign.

Communicating with reservation module 32 is aggregation module 36.Aggregation module 36 is configured to receive historical advertisinginventory data and currently scheduled advertising inventory, i.e.,currently scheduled advertising impressions, to generate datarepresentative of the estimated and/or actual available advertisinginventory. The historical data and data indicative of the scheduledadvertising inventory can be received from reservation module 32, whichreceives the same from control module 16, or can be received directlyfrom control module 16, as indicated by dotted lines.

The aggregation module 36 receives the scheduled advertising inventoryof advertising impressions and merges this data with the historicaladvertising delivery data to estimate available inventory for additionalor future campaigns. Through combining the predicted usage with thescheduled commitments, aggregation module 36 generates the advertisinginventory to be stored in data module 34 and manipulated by reservationmodule 32. Four numeric measures: total inventory attribute 70, totalcommitted inventory attribute 72, total available inventory attribute74, and total flexible weight attribute 76 are computed based on theaggregated historical data and currently scheduled advertising inventoryof advertising impressions. Total inventory is the total number ofadvertising impressions available for a given target cell in themulti-dimensional structure, and is defined based on compiled historicaldata. Total committed inventory is the total number of advertisingimpressions that have been scheduled for committed advertisements. Thisnumeric measure is calculated by summing all currently scheduledcommitted advertising impressions for each given target cell. Anothernumeric measure is the total available inventory. Total availableinventory is the remaining advertising impression inventory availablefor advertisers or campaign managers to select for new advertisements.Total available inventory is calculated by subtracting the totalcommitted inventory 72 from the total inventory 70 for a given targetcell. Total flexible weight 76 is the sum of the weights of currentlyscheduled flexible advertisements.

Communicating with planning module 12 through network 14 is controlmodule 16. Control module 16 includes a manager module 40, anadvertising module 42, and a historical data module 44. Manager module40 is capable of controlling the delivery of advertising contentassociated with the scheduled advertisements to receiver module 20 fordisplay to the viewer in accordance with the schedule defined inplanning module 12 to achieve the advertising impression goal.Accordingly, manager module 40 receives from reservation module 32 datadefining when the advertisement content of the advertisement is to bedisplayed to the viewer, an indicator of whether the advertisement isscheduled as committed or flexible advertising, and the advertisement'sassociated weight, the weight to be interpreted by receiver module 20 asabsolute or relative depending on the committed or flexible advertisingindicator. The manager module 40 receives such information or datacontinuously, periodically, sporadically, upon request by an individual,in accordance with an individual's defined schedule, combinationsthereof, or the like.

Using this information and data, manager module 40 generates one or moremetadata files associated with the advertisement content of theadvertisement to be delivered to receiver module 20. These metadatafiles define advertisements available for display to the viewer whensuch advertisement is requested. For instance, each differentadvertisement delivered to receiver module 20 has different weights,priorities, location placement on the documents displayed by receivermodule 20, or the like.

The metadata files can define information for individual advertisementsand the associated advertisement content, groups of related or unrelatedadvertisements and the associated advertisement content, campaigns ofadvertisements and the associated advertisement content, combinationsthereof, or the like. The metadata files have a simplified format thatdefines various attributes and properties associated with theadvertisement, including the advertisement content, i.e., the range oftime when the advertisement may be displayed to fulfill the number ofadvertising impressions requested by an advertiser.

Manager module 40 generates metadata for the advertisement to bedisplayed to the viewer. The manager module 40 retrieves a metadatatemplate and propagates the attributes or elements of the template withdata or information specific for the advertisement to be displayed tothe viewer. Below is an illustrative metadata file specific to thesituation where advertisement is to be displayed as a banneradvertisement on a Hypertext Markup Language (HTML) web page displayedusing receiver module 20.

<Ad ID=”12345″> Type = “Committed” Weight = 42> <ScheduleTime=”978336000000” Duration=”345600s” Base=”UTC/LOCAL”> <ExceptionZone=”21600s” Offset=”0s” Shift=”-3600s” /> <Repeat Interval=”604800s”Duration=”3600s” > <Offset>0s</Offset> <Offset>86400s</Offset> </Repeat></Schedule> <Target Type=”Page”>TVHome</Target> <TargetType=”Area”>Banner</Target> <Target Type=”DMA”>94043</Target> <CreativeType=”img”> %3cahref='file://myclickthrough.html?clickthroughFor=\”12345\”+clickthroughFinal' target='top'%3e%3cimg src='file://adimage.jpg ‘/%3e%3c/a%3e</Creative> </Ad>

The “Ad element” is the top-level element and defines and/or containsall of the metadata for the advertisement content. The “ID attribute” ofthe ad element uniquely identifies the advertisement content and isdefined by control module 16.

The “Ad Type” attribute indicates whether the advertisement is scheduledas a committed advertisement or a flexible advertisement.

The “Ad Weight” attribute is a numeric number to be interpreted byreceiver module 20. Receiver module 20 treats the ad weight as anabsolute weight when the ad type is “Committed,” and treats the weightas a relative weight when the ad type is set to “Flexible.”

The “Schedule element” describes when the advertisement content may beshown to the viewer. The schedule element includes a number of elements:a time element, a duration element, and a base element. When usedwithout a Repeat sub-element, as will be described hereinafter, the Timeattribute indicates the start time of the advertisement content and theduration attribute specifies how long the advertisement content may bechosen for display to the viewer. The Base attribute indicates whetherthe Time attribute should be interpreted as a Coordinated Universal Time(UTC) time or as the receiver's local time irrespective of its timezone.

The “Exception element” is optional and indicates time-zone specificexceptions to the scheduled time, as defined in the schedule element.The Zone attribute indicates the targeted time zone for theadvertisement content and includes a Duration attribute indicating thenumber of seconds that the target time zone differs from the definedtime zone. The Offset attribute is added to the scheduled start time todesignate when the time-shift indicated by the Shift attribute is to beapplied.

The “Repeat element” is optional and describes additional schedulinginformation for advertisement content that runs over multiple timeintervals. When a Repeat element is defined, the Time and Durationattributes are interpreted as the start time and duration of allrepeating intervals. Consequently, the interval attribute of each Repeatelement indicates the duration of each repeat interval. The optionalOffset sub-elements describe one or more start times for the definedrepeat interval, relative to the Time attribute of the parent scheduleelement. In the event that no offset is defined, a default offset of 0can be assumed.

In the example above, the duration of 3600s indicates that each repeatoccurrence lasts 1 hour, i.e., 3600 seconds. The offsets of 0s and86400s indicate that the 1-hour long repeat occurrences should start atthe parent schedule start time and one day later. The interval of604800s or 1 week indicates that each of these repeat occurrences shouldrun weekly.

The “Target element” describes targeting criteria for the advertisement.The type attribute describes the type of target criteria, i.e.,demographic, geographic, or the like. Target types may also indicatewhere the advertisement may be displayed. In the sample metadata file,the advertisement content of the advertisement is scheduled for displayin the banner area of a given viewer page.

The “Creative element” contains a Type attribute, which describes thecreative type, and its contents are the ad creative. An example of thecreative for an image link with click through metadata is shown above.The “clickthrough” related metadata embedded in the data of the Creativeelement is recorded within the receiver module to track when a userinteracts with an advertisement.

Manager module 40 is further configured to deliver the advertisementcontent and associated one or more metadata files to receiver module 20to enable receiver module 20 to display the advertisement content of theadvertisement to the viewer. Manager module 40 can deliver theadvertisement content and one or more metadata files of theadvertisement in response to a request from receiver module 20, whenmanager module 40 determines that it is appropriate to deliver suchcontent and one or more metadata files, combinations thereof or thelike. For instance, manager module 40 can include one or more rules thatdefine when to deliver the one or more metadata files and advertisementcontent. Illustratively, the rule can define that when the display dateof the advertisement, as defined by date attribute 62 (FIG. 3), is lessthan three days from a current date, manager module 40 delivers theadvertisement content and one or more metadata files to receiver module20. Those skilled in the art can appreciate that many rules may be usedto define when advertisement content and metadata files of one or moreadvertisements are to be delivered to receiver module 20.

Control module 16 further includes an advertising module 42. Advertisingmodule 42 functions as a repository of the data associated with theadvertisement that can be displayed to a viewer using receiver module20. Advertising module 42 can include a database of stored advertisementcontent for advertisements, whether such advertisement content is videodata, audio data, banner data, combinations thereof, or the like.

Advertising module 42 can store the data associated with theadvertisement within a database associated with advertising module 42 oralternatively can access another database, designated by referencenumeral 44, separate from advertising module 42, whether or not suchseparation is physical or virtual. The database can be hierarchal,relational, flat, or other database structure and include a databasemanagement system known to those skilled in the art. Additionally, thedatabase can utilize modular or fixed memory, magnetic disk storage,optically read storage, or other mass storage known to one skilled inthe art for storing the data or content associated with theadvertisement. Although a single database is illustrated, alternateembodiments of the present invention can utilize multiple or a pluralityof databases.

The advertisement data and/or content stored within the databaseassociated with advertising module 42 can be stored in a variety ofmanners. For example, the data or content can be stored in a carouselthat is accessible to advertising module 42 and manager module 40.

Additionally, advertising module 42 can store the data or content in:(i) alphabetical order; (ii) category order, where advertisement contentof the advertisement directed to a particular grouping of advertisementsis stored together; (iii) calendar order, where days, weeks, months,etc. of advertisement content of the advertisement are stored togetherfor delivery to receiver modules 20; (iv) viewer selection order, or thelike.

Generally, the advertisement content of the advertisement includes oneor more identifiers that associate the one or more advertising campaignsand/or one or more metadata file with delivery and weightinginformation. The manager module 40 can select the desired advertisement,and hence the associated advertisement content, based upon suchattributes and deliver the advertisement content, with associatedmetadata or metadata file(s), of the advertisement to receiver module 20for display to the targeted viewer.

According to another aspect of control module 16, manager module 40communicates with historical data module 46. The historical data module46, either directly from receiver module 20 or via manager module 40,retrieves historical viewer data from receiver module 20. For example,the historical data can include details of broadcast programming viewed,advertisements viewed, or the like based upon day, time, month, etc.Additionally, historical data may include details about previouslyviewed advertisements such as the target information associated withthose advertisements or any actions taken by the viewer upon seeing theadvertisement such as requesting additional information or the like.

Communicating with control module 16 is receiver module 20. Referringnow to FIG. 8, receiver module 20 can include a central processing unit230 that uses computer-executable instructions implemented in softwareand/or hardwired logic circuitry to perform various functions. Thesecomputer-executable instructions, such as program modules, causereceiving module 20 to perform a certain function or group of functions.Generally, program modules can include routines, programs, objects,components, data structures, etc. that perform particular tasks orimplement particular abstract data types. Computer-executableinstructions, associated data structures, and program modules representexamples of the program code means for executing steps of the methodsdisclosed herein. The particular sequence of such executableinstructions or associated data structures represents examples ofcorresponding acts for implementing the functions described in suchsteps.

Processing unit 230 can be coupled via a system bus 232, which alsointerconnects various other system components of receiver module 20.Processing unit 230 executes software designed to implement features ofreceiver module 20 including the features of the present invention.Processing unit 230 can contain circuitry that is used to implementcertain functions of receiver module 20. Instructions, data, and othersoftware used to operate processing unit 230 can be stored in a systemmemory 234, such as read-only memory (“ROM”) 236 and/or in random-accessmemory (“RAM”) 238. Optionally, receiver 20 can include any mass storagedevice 242, which is coupled to a mass storage interface 240, asillustrated in dotted lines. ROM 236, RAM 238 and mass storage device242 are communicatively coupled to processing unit 230 so as to bereadable by processing unit 230 and so that data may be written fromprocessing unit 230 to RAM 238 and possibly mass storage device 242.

Optional mass storage device 242 can be a magnetic hard disk 244 or anyother magnetic, optical, or other mass memory device that is capable ofstoring data. Any desired computer-readable instructions or data,including application programs and other program modules can be storedin mass storage device 242. Mass storage device 242 is one structurecapable of performing the function of a computer-readable media forcarrying or having computer-executable instructions or data structuresstored thereon. In addition, mass storage device 242 may be used tostore and retrieve received media content, such as a media stream orother data delivered to the receiver. This computer-readable media canbe any available media that can be accessed by a general purpose orspecial purpose computer. By way of example, and not limitation, suchcomputer-readable media can comprise physical storage media such as RAM,ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storageor other magnetic storage devices, or any other medium that can be usedto carry or store desired program code means in the form ofcomputer-executable instructions or data structures and that can beaccessed by a general purpose or special purpose computer. Wheninformation is transferred or provided over a network or anothercommunications connection (either hardwired, wireless, or a combinationof hardwired or wireless) to receiver module 20 or some remote computer,both the receiver module 20 and remote computer, such as but not limitedto control module 16, properly view the connection as acomputer-readable medium. Thus, such a connection is also properlytermed a computer-readable medium. Combinations of the above should alsobe included within the scope of computer-readable media.

As illustrated, receiver module 20 communicates with a display device246, such as a television display, a flat panel display, a projectiondisplay, a computer monitor, or any other device capable of displayingviewable image data, through a video output 248 and variety of differentcommunication line connections known to one skilled in the art in lightof the teaching contained herein. Additionally, receiver module 20 cancommunicate with an audio system 250, such as one or more speakers foremitting sound data through an audio output 252 and/or a signal recorder254, such as a video cassette recorder (“VCR”), capable of receivingvideo and/or audio data through video output 248 and audio output 252and recording the data on a storage medium.

The receiver module 20 can include a signal input 256, which receivesprogramming channels and advertisement content from one or more signalsources 258, such as control module 16. These signal sources 158 deliversingle or multiple channels of programming to signal input 258 via oneor more different communication line connections, known to one skilledin the art, such as but not limited to electromagnetic radiationconnection, such as wireless, UHF, VHF, microwave transmission, or thelike, cable connection, or optic connection.

According to another aspect, signal input 256 can include one or moretuners 262 capable of tuning to the programming channels deliverable bysignal source 258. Additionally, signal input 256 can include one ormore signal decoders 260 optionally configured to (i) decipher the audioand/or video data representative of the programming channels receivedfrom signal source 258, (ii) convert the data from an analog format todigital format, and vice versa, and (iii) decompress the audio and/orvideo data received from signal source 258.

According to another aspect of the present invention, signal input 256includes a modem 264 that translates the digital signaling from thesignal source 158 into locally readable/executable interne content,including but not limited to: HTML, XML, Streaming Media formats andother common “Web” encoding methods enables receiver module 20 todisplay Web pages including text, graphics and other static media/dataand streaming media or other continuous media from remote sources. Insuch a case, signal source 258 can have the form of a remote computer,which forms part of the Internet or some other wide area network orlocal area network.

Further, receiver module 20 includes various input/output interfaces 266that enable a user, consumer electronic devices, signal sources, orother suitable electronic devices to deliver and receive data orinformation therebetween. For instance, illustrative input/outputinterfaces include but are not limited to serial port interface,parallel port interface, infra-red interfaces, wireless interfaces, auniversal serial bus (USB), Small Computer System Interface (SCSI), orthe like.

In addition to the above functional aspects of receiver module 20,receiver module 20 includes an offline ad engine 270. Offline ad engine270 is configured to receive advertisement content and one or moremetadata files of the advertisements from control module 16. Theadvertisement content and one or more metadata files are stored in massstorage device 242 and/or system memory 238 and accessible by offline adengine 270. The offline ad engine 270 is configured to retrieve thestored advertisement content and one or more metadata files of theadvertisements at the prescribed time and thereafter display theadvertisement content of the advertisement to the viewer through displaydevice 246 to achieve the advertising impression goal defined inplanning module 12 (FIG. 2).

Accordingly, offline ad engine 270 is configured to analyze the receivedadvertisement content and one or more metadata files of theadvertisement to interpret the information about the advertising typeand weight of the advertisement to be displayed to the viewer inaccordance with defined target criteria, i.e., at a particular time.Specifically, through analyzing the different advertising types (i.e.whether the advertisement is committed or flexible) and weights ofdifferent available advertisement content of the advertisement, offlinead engine 270 is able to manage the selection and display of availableadvertisement. Consequently, offline ad engine 270 facilitates thedelivery of a sufficient number of impressions to conform to therequested campaign scheduled through planning module 12 (FIG. 2).

The offline ad engine 270 has knowledge of committed and flexibleadvertising types. Offline ad engine 270 is able to identify whichadvertisement, and hence associated advertisement content, has beenscheduled as committed advertisements and which advertisements have beenscheduled as flexible advertisements by referencing the Ad Typeattribute in the metadata files described above. The advertisement thathas a committed attribute is “committed” to be displayed a certainnumber of impressions. Receiver module 20 has instructions to interpretthe advertisement weight for committed advertisements as absoluteweights. All other advertisements, i.e., filler advertisements having aflexible attribute, are used to fill in the remainder of the advertisinginventory for a specific target criteria for the receiver modulereceiving the advertisements. Thus, the offline ad engine is capable ofmanaging both absolute and relative weights for the advertisements to bedelivered or displayed by receiver module 20.

Furthermore, the offline ad engine is also able to determine whencommitted advertisements have been overbooked. Committed advertising isoverbooked when the sum of the weights for committed advertisements, ona receiver, applicable to a specific time and target, exceeds the valueof the base factor. For example, if the weights are based upon a basefactor of 100, i.e., a percentage scale, the overbooked scenario occurswhen the sum of the weights for committed advertisements exceeds 100%.Alternatively, when the base factor is 1000, the overbooked scenariooccurs when the sum of the weights for committed advertisements exceedsa value of 1000. Although reference is made to base factors of 100 and1000, one skilled in the art can appreciate that the base factor can beany number, resulting in any scale used to define the weights.

When the overbook scenario occurs, the offline ad engine is able toreinterpret the ad weights when necessary. For instance, the offline adengine holds instructions for reinterpreting the weights for committedadvertisements as relative weights when advertising inventory has beenoverbooked.

Using this technique of mixed absolute and relative weights forcommitted and flexible advertisements, advertisements are alwaysavailable to fill advertising inventory and committed inventory willmeet its overall impression goals. Further, this mixed technique enablesoffline ad engine 270 to display flexible advertisements over timedepending on what committed advertisements are scheduled for the sametime and target. Consequently, when offline ad engine 270 analyzes thereceived one or more metadata files and advertisement content for one ormore advertisements to identify the quantity of advertisements availableto be displayed to the viewer, offline ad engine 270 is able to “fillin” unused advertising inventory with the flexible advertisements. Forexample, in the event that a target area does not have sufficientcommitted advertisements to fill the available advertising inventory,offline ad engine 270 can select national or local advertisements thatare rated as flexible advertisements to fill the remaining advertisinginventory.

The mixed weight system and the functionality of receiver module 20 andoffline ad engine 270 can be demonstrated using the following example.In the example, local advertisements will be treated as committedadvertisements and given absolute weightings, while the national anddefault advertisements will be used as flexible advertisements, whichare given relative weightings.

Illustrated in Table 1 is one example of summary information that may becontained within the metadata file for the advertisements. Each of thereferenced values is associated with particular attributes and elementsof the one or more metadata file and/or data module 34 (FIG. 2).

TABLE 1 Ad 4 Default/ Ad Name Ad 1 Ad 2 Ad 3 House Market Area New YorkNationwide New York Nationwide Ad Space EPG EPG EPG EPG Day Part DailyDaily Daily Any 7–9 PM 7–9 PM 7–9 PM Duration 2 weeks 2 weeks 2 weeksAny Total Inventory 1 million 20 million 1 million 100 millionImpression 250,000 5 million 500,000 None Goal Advertising CommittedFlexible Committed Flexible Type

The advertisements Ad1, Ad2, Ad3, and Ad4 are available to be displayedat a particular time, i.e., daily between 7-9 pm or at any time, forparticular geographic locations, i.e., New York, Nationwide, or Default.Additionally, the advertisements can be displayed at various differentlocations with the broadcast programming or HTML pages displayed throughan interactive experience. For instance, in this illustrativeconfiguration, the available advertisements are to be displayed as partof an electronic program guide (EPG) displayed to the viewer.Alternatively, the advertisements can be displayed as part of aninteractive television web page, between portions of broadcastprogramming, or the like.

The available advertisements Ad1, Ad2, Ad3, and Ad4 each have a definedduration within which the advertisement is to be displayed. In oneconfiguration, such duration information is stored at control module 14and/or planning module 12 when a limited amount of advertisements,including associated advertisement content, are delivered to receivermodule 20. In other configurations, such duration information isdelivered as part of the one or more metadata files to receiver module20 and stored therein. Illustratively, the duration of the advertisingcampaign associated with Ad1, Ad2, and Ad3 is two weeks, while theduration of Ad4 advertising campaign is any amount of time.

Additionally, available advertising inventory and impression goalsspecific for the advertisements Ad1, Ad2, Ad3, and Ad4 are defined inthe one or more metadata files and/or at data module 34 (FIG. 2). Thisdefines the number of impressions that are to be achieved for theparticular advertisements Ad1, Ad2, Ad3, and Ad4. Finally, theadvertisements and/or the advertisement content associated with theadvertisements Ad1, Ad2, Ad3, and Ad4 includes attributes that definewhether the advertisements are committed or flexible advertisements, asdescribed herein.

Upon receiving the advertisement content and the one or more metadatafiles for each scheduled advertisement, offline ad engine 270 identifiesthe absolute weightings for the local or committed advertisements. Theabsolute weightings are calculated as the impression goal for thespecific committed advertisement divided by the total inventory.Illustratively, when the weights are calculated based upon a percentagescale, i.e., a base factor of 100, as illustrated in Table 2, Ad1 has anabsolute weight of 25% and Ad3 has an absolute weight of 50%. The totalcommitted inventory is the sum of these two weights, i.e., 75% for thecase when the weights use a base factor of 100, i.e., a percentagescale. Similarly, when the base factor is 1000 and the weights are 250and 500 respectively, the total committed inventory is 750. In anotherconfiguration, the base factor could be 1, such that the weights are0.25 and 0.50, with a total committed inventory of 0.75.

TABLE 2 Ad 1 Ad 3 Impression 250,000 500,000 Inventory 1,000,0001,000,000 Divide Goal by Available 250,000/1,000,000 500,000/ Inventoryin New York 1,000,000 Advertisement Mix (Using a Base 25% 50% Factor of100, i.e., percentage scale) Total Committed Inventory 25% + 50% = 75%Percentage

Offline ad engine 270 also determines which advertisements to displayfor the remainder of the available advertising inventory, i.e., thetotal available flexible advertising inventory percentage=100%−totalcommitted advertising inventory percentage when using a base factor of100. For example, 100%−(25%+50%)=25%. Similarly, when the base factor is1000, the available advertising inventory=Base Factor Value−totalcommitted advertising inventory, i.e., 1000−(250+500)=250. Thisremaining advertising inventory is filled with flexible advertisements.

Offline ad engine 270 selects the relative weights defined by theindividual during scheduling of the flexible advertising impressions,i.e., 10 for Ad2 and 1 for Ad4 and in association with processing unit230, offline ad engine 270 defines a total flexible weight as the sum ofavailable flexible advertisement weights. Subsequently, offline adengine 270 creates a mix of flexible advertisements to be displayed tothe viewer by dividing the relative weight of the advertisements by thetotal flexible weight, and multiplying the result by the flexibleadvertising inventory percentage, as illustrated below in Table 3.Alternatively, offline ad engine 270 creates a mix of flexibleadvertisements to be displayed to the viewer by dividing the relativeweight of the advertisements by the total flexible weight, andmultiplying the result by the flexible advertising inventory, when thebase factor is some value different from 100, i.e., different from apercentage scale.

TABLE 3 Ad 2 Ad 4 Total Relative Weight 10 1 11 Relative Mix 10/11 =0.91 1/11 = 0.09 1 Delivered Ad Mix 25% * 0.91 = 22.8% 25% * 0.09 = 2.2%25%

Consequently, Ad2, with a higher priority, will be shown 22.8% of thetime while Ad4 will only be shown 2.2% of the time on the receivermodule, when a base factor of 100 is used. Therefore, this mixedweighting system guarantees impressions for committed advertisements andallows for flexibility in controlling relative weights for the lowerpriority ads.

In some circumstances, the total of all committed advertisements isgreater than all of the available advertising inventory. This can occurwhen an individual overbooks the available number of advertisingimpressions. In this case, no flexible advertisements will be displayedto the viewer. Additionally, the display frequency for each committedadvertisements is calculated relative to all other committedadvertisements, i.e., the absolute weights are used as a relativeweight. Consequently, the display frequency for each committedadvertisement is calculated in accordance with the equation;AW_(N)=(NW_(N)/Σ(Nominal Weights))*Base Factor;

where AW_(N) is the adjusted weight for the Nth committed advertisement,and NW_(N) is the nominal, or original, weight of the Nth advertisement.

Illustratively, in the event that each committed advertisementsdesignated by Ad1, Ad2, and Ad3 is scheduled in the nominal weights of40, 40, and 50, having a total of 130, the adjusted weights, or thedisplay frequency of advertisements Ad1, Ad2, and Ad3, based upon a basefactor of 100, would become approximately 30.77, 30.77, and 38.46,respectively.

Referring now to FIG. 9, depicted is a flow diagram representation ofthe method by which advertising inventory is scheduled, the controlmodule is updated, and the receiver module receives the scheduledadvertisements, including advertisement content and metadata files, anddisplays the same to the viewer. Although reference is made to thefollowing method, it can be understood by one skilled in the art thatvarious other methods are appropriate and the particular order by whichthe steps are discussed are exemplary and not limiting to performing thesteps in other orders, adding other steps, eliminating steps,combinations thereof, or the like.

As illustrated, the planning module receives historical data andcurrently scheduled advertising inventory of advertising impressions, asrepresented by block 300. Upon receiving such data and schedule, theplanning module aggregates the data and schedule to define the actualand/or estimated available and sold advertising inventory, asrepresented by block 302. This advertising inventory can be displayed toan individual, as represented by block 304. For instance, the soldadvertising inventory and/or available advertising inventory aredisplayed using a graphical user interface.

Once the advertising inventory is displayed to the individual, anadvertiser, optionally through the individual and associated hardwaredevice, can request to schedule an advertising campaign, as representedby block 306. Illustratively, an advertiser can contact the provider ofadvertising inventory, such as a cable or satellite provider, andrequest the display of advertisement content to a specific targetaudience, i.e., geographic area, demographic data, specific times, etc.Additionally, the advertiser can request the display of a number ofimpressions to such an audience, i.e., the advertising impression goal.The advertiser and/or broadcaster may also request if the advertisementshould be regarded as a committed or flexible advertisement.

Once the advertisement content is requested, weights are defined fordesired committed advertisements and the desired flexibleadvertisements, as represented by block 308. These weights are used aseither absolute or relative weights by the receiver module to select theparticular advertisement, and associated advertisement content, todisplay at any particular time, upon completing the booking orscheduling of the advertising campaign.

Utilizing the planning module, the individual can identify conflicts, ifany exist, between the requested advertising impressions and thescheduled committed advertisement(s), as represented by block 310. Whenthere is a conflict, i.e., scheduled committed advertisement(s) andrequested impressions coincide, the individual can select to rescheduleor request a different advertising campaign, as represented by decisionblock 312 is in the negative. Alternatively, the individual candouble-book or overbook the particular advertising inventory for aspecific target, as represented by decision block 312 being in thepositive, and subsequently booking the advertising campaign, asrepresented by block 314.

The schedule of advertising inventory, with associated advertising typesand advertisement weights, is delivered to the control module and usedto update the stored schedule therein, as represented by block 316.Subsequent to receiving the advertisement content for the advertisementand indicators of the advertisement's type and weight, the controlmodule defines one or more metadata files for the one or moreadvertisement to be delivered to the receiver module, as represented byblock 318. For example, one metadata file is created for the availableadvertisement. In another configuration, one metadata file containsinformation about the advertisement to be displayed in a defined timeperiod, i.e., 15 minutes interval, 1 hour interval, 6 hour interval,daily interval, weekly interval, monthly interval, or the like.

The control module identifies when it is time to deliver theadvertisement content and one or more metadata files for theadvertisement to the receiver module, as represented by decision block320. The control module can achieve this by comparing the delivery datedefined within the one or more metadata files against stored rules thatgovern when the advertisement content and the one or more metadata filesare to be delivered to the receiver module. When the content and one ormore metadata files are to be delivered to the receiver module, i.e.,decision block 320 is in the affirmative, the control module preparesthe content and one or more metadata files and delivers the content andthe one or more metadata files, as represented by blocks 322 and 324respectively.

Upon receiving a request for an advertisement, and hence advertisementcontent, for a specified location and target criteria, thereceiver-module analyzes the one or more metadata files, as representedby block 326, to identify when the advertisement content of theadvertisement is to be displayed to the viewer, as represented by block332. Further, the receiver module generates a list of advertisementsand/or advertisement content for the advertisements that are to bedisplayed in accordance with the target criteria defined with the one ormore metadata files, as represented by block 330. Consequently, thereceiver module interprets the weights, whether absolute or relativeweights based upon the available advertisements that meet the targetcriteria, as represented by block 328.

Illustratively, the receiver module sums the weights for each of thecommitted advertisements. In the event that the summation results intotal number of committed advertisement of less than the base factor,such as 100% when the base factor is 100, then the weight of thecommitted advertisement is used as the weight for displaying theadvertisement, as represented by block 328. Consequently, the availableflexible advertisement is weighted based upon the available remainingadvertising inventory.

Otherwise, when the summation results in total number of committedadvertisements is greater than the base factor, such as 100%, when thebase factor is 100, the weights of the committed advertisements are usedas relative weights and the actual display percentages for the committedadvertisements are the normalized values for each of the committedadvertisements, as described above. Consequently, the relative weight ofthe available flexible advertisements is defined as zero.

Upon retrieving the desired advertisement content, as represented byblock 334, the receiver module displays the advertisement content, asrepresented by blocks 338 and 340 and generates a log of the impressionlog for the displayed advertisement, as represented by block 342. If theuser interacts with the advertisement, clicking on the advertisementcontent displayed to the viewer using an input device, another log ismade of the “click through” activity. These logs can be subsequentlyuploaded to the control module and the planning module as part of thehistorical data.

Consequently, one receiver module of the present invention makes anadvertisement selection decision on-demand for specific target criteria,including time, market area, demographics, etc. That is, the receivermodule selects the particular advertisement content associated withscheduled advertisements when the broadcast programming, electronicprogram guide, web page, etc. includes a location or advertisement spacefor an advertisement. Alternatively, the receiver module can make theadvertisement selection decision upon receiving the advertising contentand metadata from the control module. For instance, the receiver moduleanalyzes the metadata for the advertisement content upon receiving thesame, and subsequently generates a display list of advertisement contentbased upon the absolute weights and flexible weights of theadvertisements. The receiver module, therefore, waits for a request foradvertisement content or one or more advertisements to be displayed tothe viewer and selects one of the available advertisements asrepresented by block 334. Thereafter, the receiver module removes thatparticular instance of the advertisement from the list, as representedby block 336, and requests additional advertisements as needed.

In still another configuration, the receiver module can define a list ofdisplayable advertisement content based upon one or more of the specifictarget criteria, such as a specific time interval when the advertisementcontent can be displayed, e.g., selecting advertisement content that isto be displayed between 7:00 pm and 8:00 pm, or the like.

The present invention may be embodied in other specific forms withoutdeparting from its spirit or essential characteristics. The describedembodiments are to be considered in all respects only as illustrativeand not restrictive. The scope of the invention is, therefore, indicatedby the appended claims rather than by the foregoing description. Allchanges which come within the meaning and range of equivalency of theclaims are to be embraced within their scope.

1. A method which is implemented by a computing system that includes aprocessor for selecting one or more advertisements to display to aviewer, the method comprising: the computing system identifying, for adefined target, each advertisement from a plurality of advertisements aseither a committed advertisement or a flexible advertisement; uponidentifying a first absolute weight for each committed advertisement anda relative weight for each flexible advertisement, the computing systemdefining a total flexible advertising inventory value as the differencebetween the sum of the first absolute weights for the committedadvertisement content and a base factor; the computing system defining asecond absolute weight for each of the flexible advertisements basedupon the relative weight of the flexible advertisement, the sum of therelative weights of the flexible advertisement, and the total flexibleadvertising inventory value; and the computing system randomly selectingthe advertisement based upon the first absolute weight of the committedadvertisement and a second absolute weight of the flexibleadvertisement.
 2. A method as recited in claim 1, wherein the target isdefined by at least one of market area data, date data, time data, adtype date, an ad space data.
 3. A method as recited in claim 1, whereinidentifying the advertisement comprises: receiving a data file definingan advertisement of a plurality of advertisements as either a committedadvertisement or a flexible advertisement; and analyzing the data fileto identify the advertisement as the committed advertisement or theflexible advertisement.
 4. A method as recited in claim 1, wherein themethod further includes defining a total committed advertising inventoryvalue by at least summing the first absolute weight for each committedadvertisement.
 5. A method as recited in claim 1, wherein defining atotal flexible advertising inventory value comprises subtracting thetotal committed advertising inventory from the based factor for thetarget.
 6. A method as recited in claim 1, further comprising, defininga relative weight for each committed advertisement based upon the firstabsolute weight for each committed advertisement when the total of theabsolute weights of all committed advertisements is greater than thebase factor, indicating the total committed advertising inventory isgreater than the total available advertising inventory.
 7. A method asrecited in claim 1, wherein randomly selecting the advertisementscomprises: defining a list of available advertisements from thecommitted advertisements and the flexible advertisements; and selectingthe advertisements from the list of available advertisements based uponthe absolute weight and the relative weight for each advertisement.
 8. Amethod as recited in claim 7, further comprising displaying the selectedadvertisement within a document and removing the selected advertisementfrom the list of available advertisements.
 9. A method as recited inclaim 7, further comprising removing the selected advertisement from thelist of available advertisements for subsequent requests foradvertisements within the current instance of the document.